package com.yanqu.road.entity.activity.flowercards;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.List;

@FieldTypeAnnotation(tableName = "t_u_flower_cards_data")
public class UserFlowerCardsData extends DataObject {

    @FieldTypeAnnotation(select = true, update = true, desc = "活动ID")
    private int activityId;

    @FieldTypeAnnotation(select = true, update = true, desc = "玩家ID")
    private long userId;

    @FieldTypeAnnotation(desc = "免费次数")
    private int freeTimes;

    @FieldTypeAnnotation(desc = "花牌")
    private List<FlowerCard> cardList;

    @FieldTypeAnnotation(desc = "状态")
    private GameStatus gameStatus;

    @FieldTypeAnnotation(desc = "最高良缘值")
    private int maxAffinity;

    @FieldTypeAnnotation(desc = "总良缘值")
    private long totalAffinity;

    @FieldTypeAnnotation(desc = "最高评价")
    private int maxAppraise;

    @FieldTypeAnnotation(desc = "购买白银战令")
    int buySliverToken;

    @FieldTypeAnnotation(desc = "购买黄金战令")
    int buyGoldToken;

    @FieldTypeAnnotation(desc = "开局总次数")
    int totalTimes;

    @FieldTypeAnnotation(desc = "是否一直透视卡牌")
    int alwaysShow;

    @FieldTypeAnnotation(desc = "重置时间")
    private int resetTime;

    //缓存
    //练习模式
    private List<FlowerCard> testCardList;

    private GameStatus testGameStatus;

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if(this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public int getFreeTimes() {
        return freeTimes;
    }

    public void setFreeTimes(int freeTimes) {
        if(this.freeTimes != freeTimes) {
            this.freeTimes = freeTimes;
            setUpdateOption();
        }
    }

    public List<FlowerCard> getCardList() {
        return cardList;
    }

    public void setCardList(List<FlowerCard> cardList) {
        this.cardList = cardList;
        setUpdateOption();
    }

    public GameStatus getGameStatus() {
        return gameStatus;
    }

    public void setGameStatus(GameStatus gameStatus) {
        this.gameStatus = gameStatus;
        setUpdateOption();
    }

    public int getMaxAffinity() {
        return maxAffinity;
    }

    public void setMaxAffinity(int maxAffinity) {
        if(this.maxAffinity != maxAffinity) {
            this.maxAffinity = maxAffinity;
            setUpdateOption();
        }
    }

    public long getTotalAffinity() {
        return totalAffinity;
    }

    public void setTotalAffinity(long totalAffinity) {
        if(this.totalAffinity != totalAffinity) {
            this.totalAffinity = totalAffinity;
            setUpdateOption();
        }
    }

    public int getMaxAppraise() {
        return maxAppraise;
    }

    public void setMaxAppraise(int maxAppraise) {
        if(this.maxAppraise != maxAppraise) {
            this.maxAppraise = maxAppraise;
            setUpdateOption();
        }
    }

    public int getBuySliverToken() {
        return buySliverToken;
    }

    public void setBuySliverToken(int buySliverToken) {
        if(this.buySliverToken != buySliverToken) {
            this.buySliverToken = buySliverToken;
            setUpdateOption();
        }
    }

    public int getBuyGoldToken() {
        return buyGoldToken;
    }

    public void setBuyGoldToken(int buyGoldToken) {
        if(this.buyGoldToken != buyGoldToken){
            this.buyGoldToken = buyGoldToken;
        }
        setUpdateOption();
    }

    public int getTotalTimes() {
        return totalTimes;
    }

    public void setTotalTimes(int totalTimes) {
        if(this.totalTimes != totalTimes) {
            this.totalTimes = totalTimes;
            setUpdateOption();
        }
    }

    public int getResetTime() {
        return resetTime;
    }

    public void setResetTime(int resetTime) {
        if(this.resetTime != resetTime) {
            this.resetTime = resetTime;
            setUpdateOption();
        }
    }

    public int getAlwaysShow() {
        return alwaysShow;
    }

    public void setAlwaysShow(int alwaysShow) {
        if(this.alwaysShow != alwaysShow) {
            this.alwaysShow = alwaysShow;
            setUpdateOption();
        }
    }

    //缓存

    public List<FlowerCard> getTestCardList() {
        return testCardList;
    }

    public void setTestCardList(List<FlowerCard> testCardList) {
        this.testCardList = testCardList;
    }

    public GameStatus getTestGameStatus() {
        return testGameStatus;
    }

    public void setTestGameStatus(GameStatus testGameStatus) {
        this.testGameStatus = testGameStatus;
    }
}
